package com.kika.obwiki.controller;

import com.kika.obwiki.rep.DemoReq;
import com.kika.obwiki.resp.CommonResp;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;

@RestController
@RequestMapping("/test")
@Tag(name = "测试接口", description = "测试相关API") // 替换原@Api
public class TestController {

    /**
     * GET测试接口，便于浏览器或GET方式测试
     * 
     * @return 返回hello字符串
     */
    @GetMapping("/hello")
    public String hello() {
        return "hello, test!";
    }

    /**
     * 最简单的测试方法
     * 
     * @param demoReq 测试请求参数
     * @return 通用响应对象
     */
    @PostMapping(value = "/sayHello", produces = MediaType.APPLICATION_JSON_VALUE)
    @Operation(summary = "最简单的测试方法", description = "这是一个带参数校验的测试接口")
    public CommonResp sayHello(@Valid @RequestBody DemoReq demoReq) {
        /*
         * if( result.hasErrors()){//如果获取到了错误
         * Map<String,String> map=new HashMap<>();
         * //1.获取错误的校验结果
         * result.getFieldErrors().forEach((item)->{
         * //获取发生错误时的message
         * String message = item.getDefaultMessage();
         * //获取发生错误的字段
         * String field = item.getField();
         * map.put(field,message);
         * });
         * return new CommonResp(false,"查询出错!",map);
         * }else {
         * //TODO 执行注册功能
         * //registService.regist(registVo);
         * }
         * 
         */
        return new CommonResp(true, "查询成功", demoReq);
    }
}
